﻿using System.Windows.Input;
using MapEngine;

namespace GameEngine.View.Components
{
    public interface IUIView
    {
        //
        // Summary:
        //     Occurs when a keyboard key is pressed while the System.Windows.UIElement
        //     has focus.
        event KeyEventHandler KeyDown;
        //
        // Summary:
        //     Occurs when a keyboard key is released while the System.Windows.UIElement
        //     has focus.
        event KeyEventHandler KeyUp;
        //
        // Summary:
        //     Occurs when the mouse (or a stylus) enters the bounding area of a System.Windows.UIElement.
        event MouseEventHandler MouseEnter;
        //
        // Summary:
        //     Occurs when the mouse (or the stylus) leaves the bounding area of a System.Windows.UIElement.
        event MouseEventHandler MouseLeave;
        //
        // Summary:
        //     Occurs when the left mouse button is pressed (or when the tip of the stylus
        //     touches the tablet) while the mouse pointer is over a System.Windows.UIElement.
        event MouseButtonEventHandler MouseLeftButtonDown;
        //
        // Summary:
        //     Occurs when the left mouse button is released (or the tip of the stylus is
        //     removed from the tablet) while the mouse (or the stylus) is over a System.Windows.UIElement
        //     (or while a System.Windows.UIElement holds mouse capture).
        event MouseButtonEventHandler MouseLeftButtonUp;
        //
        // Summary:
        //     Occurs when the coordinate position of the mouse (or stylus) changes while
        //     over a System.Windows.UIElement (or while a System.Windows.UIElement holds
        //     mouse capture).
        event MouseEventHandler MouseMove;
        //
        // Summary:
        //     Occurs when the user rotates the mouse wheel while the mouse pointer is over
        //     a System.Windows.UIElement, or the System.Windows.UIElement has focus.
        event MouseWheelEventHandler MouseWheel;
    }
}
